package jsyf.oa.entity.capital;

import com.alibaba.fastjson.JSONObject;

import javax.persistence.Entity;
import javax.persistence.Table;

import jsyf.oa.ientity.BaseEntity;

import java.math.BigDecimal;
import java.util.Date;

/**
 * Created by houtailei on 2018/2/25.
 */
@Entity
@Table(name = "t_cpt_bank_debits", schema = "oa", catalog = "")
public class BankDebitsEntity extends BaseEntity {
    private String fkBankCardId;
    private String drawerName;
    private String drawerBank;
    private String incomeProject;
    private String drawerDate;
    private String dueDate;
    private String debitsNo;
    private BigDecimal money;
    private String invoiceDate;
    private String endorseFlag;
    private String endorseMode;
    private String endorseDate;
    private Integer collectionArriveFlag;
    private String collectionArriveDate;
    private Integer impawnFLAg;
    private String remark;
    private String outcomeProject;
    private String discountBank;
    private String discountDate;
    private BigDecimal discountInterest;
    private BigDecimal discountMoney;
    private String customerName;
    private String createUserId;
    private String updateUserId;
    private String fkCompanyId;
    private String delReason;


    public String getFkBankCardId() {
        return fkBankCardId;
    }

    public void setFkBankCardId(String fkBankCardId) {
        this.fkBankCardId = fkBankCardId;
    }

    public String getDrawerName() {
        return drawerName;
    }

    public void setDrawerName(String drawerName) {
        this.drawerName = drawerName;
    }

    public String getDrawerBank() {
        return drawerBank;
    }

    public void setDrawerBank(String drawerBank) {
        this.drawerBank = drawerBank;
    }

    public String getIncomeProject() {
        return incomeProject;
    }

    public void setIncomeProject(String incomeProject) {
        this.incomeProject = incomeProject;
    }

    public String getDrawerDate() {
        return drawerDate;
    }

    public void setDrawerDate(String drawerDate) {
        this.drawerDate = drawerDate;
    }

    public String getDueDate() {
        return dueDate;
    }

    public void setDueDate(String dueDate) {
        this.dueDate = dueDate;
    }

    public String getDebitsNo() {
        return debitsNo;
    }

    public void setDebitsNo(String debitsNo) {
        this.debitsNo = debitsNo;
    }

    public BigDecimal getMoney() {
        return money;
    }

    public void setMoney(BigDecimal money) {
        this.money = money;
    }

    public String getInvoiceDate() {
        return invoiceDate;
    }

    public void setInvoiceDate(String invoiceDate) {
        this.invoiceDate = invoiceDate;
    }

    public String getEndorseFlag() {
        return endorseFlag;
    }

    public void setEndorseFlag(String endorseFlag) {
        this.endorseFlag = endorseFlag;
    }

    public String getEndorseMode() {
        return endorseMode;
    }

    public void setEndorseMode(String endorseMode) {
        this.endorseMode = endorseMode;
    }

    public String getEndorseDate() {
        return endorseDate;
    }

    public void setEndorseDate(String endorseDate) {
        this.endorseDate = endorseDate;
    }

    public Integer getCollectionArriveFlag() {
        return collectionArriveFlag;
    }

    public void setCollectionArriveFlag(Integer collectionArriveFlag) {
        this.collectionArriveFlag = collectionArriveFlag;
    }

    public String getCollectionArriveDate() {
        return collectionArriveDate;
    }

    public void setCollectionArriveDate(String collectionArriveDate) {
        this.collectionArriveDate = collectionArriveDate;
    }

    public Integer getImpawnFLAg() {
        return impawnFLAg;
    }

    public void setImpawnFLAg(Integer impawnFLAg) {
        this.impawnFLAg = impawnFLAg;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getOutcomeProject() {
        return outcomeProject;
    }

    public void setOutcomeProject(String outcomeProject) {
        this.outcomeProject = outcomeProject;
    }

    public String getDiscountBank() {
        return discountBank;
    }

    public void setDiscountBank(String discountBank) {
        this.discountBank = discountBank;
    }

    public String getDiscountDate() {
        return discountDate;
    }

    public void setDiscountDate(String discountDate) {
        this.discountDate = discountDate;
    }

    public BigDecimal getDiscountInterest() {
        return discountInterest;
    }

    public void setDiscountInterest(BigDecimal discountInterest) {
        this.discountInterest = discountInterest;
    }

    public BigDecimal getDiscountMoney() {
        return discountMoney;
    }

    public void setDiscountMoney(BigDecimal discountMoney) {
        this.discountMoney = discountMoney;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getCreateUserId() {
        return createUserId;
    }

    public void setCreateUserId(String createUserId) {
        this.createUserId = createUserId;
    }


    public String getUpdateUserId() {
        return updateUserId;
    }

    public void setUpdateUserId(String updateUserId) {
        this.updateUserId = updateUserId;
    }

    public String getFkCompanyId() {
        return fkCompanyId;
    }

    public void setFkCompanyId(String fkCompanyId) {
        this.fkCompanyId = fkCompanyId;
    }

    public String getDelReason() {
        return delReason;
    }

    public void setDelReason(String delReason) {
        this.delReason = delReason;
    }

    @Override
    public JSONObject getJSONObject() {
        JSONObject obj = new JSONObject();
        obj.put("ID", getId());
        obj.put("FK_BANK_CARD_ID", getFkBankCardId());
        obj.put("DRAWER_NAME", getDrawerName());
        obj.put("DRAWER_BANK", getDrawerBank());
        obj.put("INCOME_PROJECT", getIncomeProject());
        obj.put("DRAWER_DATE", getDrawerDate());
        obj.put("DUE_DATE", getDueDate());
        obj.put("DEBITS_NO", getDebitsNo());
        obj.put("MONEY", getMoney());
        obj.put("INVOICE_DATE", getInvoiceDate());
        obj.put("ENDORSE_FLAG", getEndorseFlag());
        obj.put("ENDORSE_MODE", getEndorseMode());
        obj.put("ENDORSE_DATE", getEndorseDate());
        obj.put("COLLECTION_ARRIVE_FLAG", getCollectionArriveFlag());
        obj.put("COLLECTION_ARRIVE_DATE", getCollectionArriveDate());
        obj.put("IMPAWN_FLAG", getImpawnFLAg());
        obj.put("REMARK", getRemark());
        obj.put("OUTCOME_PROJECT", getOutcomeProject());
        obj.put("DISCOUNT_BANK", getDiscountBank());
        obj.put("DISCOUNT_DATE", getDiscountDate());
        obj.put("DISCOUNT_INTEREST", getDiscountInterest());
        obj.put("DISCOUNT_MONEY", getDiscountMoney());
        obj.put("CUSTOMER_NAME", getCustomerName());
        obj.put("CREATE_USER_ID", getCreateUserId());
        obj.put("UPDATE_USER_ID", getUpdateUserId());
        obj.put("UPDATE_TIME", getUpdateTime());
        obj.put("FK_COMPANY_ID", getFkCompanyId());
        obj.put("DEL_FLAG", getDelFlag());
        obj.put("DEL_REASON", getDelReason());
        return obj;
    }

    @Override
    public String getTableName() {
        return "t_cpt_bank_debits";
    }
    @Override
    public String getViewName() {
        return "v_cpt_bank_debits";
    }
    @Override
    public JSONObject getJSONColumns() {
        JSONObject obj = new JSONObject();
        obj.put("ID", "id");
        obj.put("FK_BANK_CARD_ID", "fkBankCardId");
        obj.put("DRAWER_NAME", "drawerName");
        obj.put("DRAWER_BANK","drawerBank");
        obj.put("INCOME_PROJECT", "incomeProject");
        obj.put("DRAWER_DATE", "drawerDate");
        obj.put("DUE_DATE", "dueDate");
        obj.put("DEBITS_NO", "debitsNo");
        obj.put("MONEY", "money");
        obj.put("INVOICE_DATE", "invoiceDate");
        obj.put("ENDORSE_FLAG", "endorseFlag");
        obj.put("ENDORSE_MODE", "endorseMode");
        obj.put("ENDORSE_DATE", "endorseDate");
        obj.put("COLLECTION_ARRIVE_FLAG", "collectionArriveFlag");
        obj.put("COLLECTION_ARRIVE_DATE", "collectionArriveDate");
        obj.put("IMPAWN_FLAG", "impawnFlag");
        obj.put("REMARK", "remark");
        obj.put("OUTCOME_PROJECT", "outcomeProject");
        obj.put("DISCOUNT_BANK", "discountBank");
        obj.put("DISCOUNT_DATE", "discountDate");
        obj.put("DISCOUNT_INTEREST", "discountInterest");
        obj.put("DISCOUNT_MONEY", "discountMoney");
        obj.put("CUSTOMER_NAME", "customerName");
        obj.put("CREATE_USER_ID", "createUserId");
        obj.put("CREATE_TIME", "createTime");
        obj.put("UPDATE_USER_ID", "updateUserId");
        obj.put("UPDATE_TIME", "updateTime");
        obj.put("FK_COMPANY_ID", "fkCompanyId");
        return obj;
    }

}
